package v_string is
    
    max : constant natural := 256;
    subtype vrange is Integer range 1..max;
    subtype vbuffer is String (vrange);

    type vstring is
	record
	    buf : vbuffer := (others => ' ');
	    len : vrange := 1;
	    is_null : Boolean := true;
	end record;

    type vstringPtr is access vstring;

    procedure vget ( item : out vstring );
    procedure vget_line ( item : out vstring );
    procedure vput ( item : in vstring );
    procedure vput_line ( item : in vstring );
    function vgetToken ( item : vstring; tok : integer) return vstring;
    function toVstring ( item : in string) return vstring;
    function vlength ( item : vstring ) return vrange;
    function vcompare ( vstr1 : vstring; vstr2 : vstring ) return Boolean;
    function vcompare ( vstr1 : vstring; str : String ) return Boolean;
    function v_null return vstring;

    token_not_found : exception;
    EOL_error : exception;

end v_string;

